Method and apparatus for optimizing self-power consumption of an electronic device

ABSTRACT

A device and method are disclosed for optimizing self-power consumption. The device may sense one or more operating conditions of the device. The device may further select one or more operating parameters associated with at least one of the one or more operating conditions. The device may also estimate a power consumption associated with executing an algorithm to generate at least one updated value for at least one of the one or more operating parameters as well as estimate a power savings associated with operating using the updated value. The device may compare the estimated power consumption to the estimated power savings and determine whether to execute the algorithm based on the comparing.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.17/573,330 filed on Jan. 11, 2022, which is a continuation of U.S.patent application Ser. No. 16/567,020, filed on Sep. 11, 2019, whichissued as U.S. Pat. No. 11,222,386 on Jan. 11, 2022, which is acontinuation of U.S. patent application Ser. No. 15/651,637, filed onJul. 17, 2017, which issued as U.S. Pat. No. 10,417,721 on Sep. 17,2019, which is continuation of U.S. patent application Ser. No.14/257,557, filed on Apr. 21, 2014, which issued as U.S. Pat. No.9,710,863 on Jul. 18, 2017, which claims priority from U.S. ProvisionalPatent Application No. 61/813,909, filed on Apr. 19, 2013, which areincorporated by reference as if fully set forth.

BACKGROUND

In a typical controller-based device, the device may performcalculations to influence its operation using sensed and/or pre-defineddata. The calculations may be typically carried out in real time.Operating parameters of the device which may influence how the deviceoperates may be set based on the results of the calculations.

These calculations may be computationally expensive and may consume arelatively large amount of power compared to the overall power consumedby the device itself. For example, a digital controller-based AC-DCpower converter may calibrate its operating parameters based uponsensing and calculations. The power consumed through the execution ofthe sensing and calculation procedures may be significant. The overallefficiency of the AC-DC power converter may suffer from the losses dueto the significant overhead associated with intensive calculations.

SUMMARY

A method and apparatus for optimizing self-power consumption of acontroller-based device is disclosed. The method and apparatusconfigured in accordance with the teachings herein may monitor andevaluate the power consumed by calculations performed by the device tocontrol its operation. The device may compare the power consumed byperforming the calculations with the power saved by updating the systemto operate in accordance with the results of the calculations. Thedevice may then determine how, when, and/or how frequently to performthe calculations to optimize the power consumption of the device.

In one embodiment, a method of optimizing self-power consumption of acontroller-based device may include sensing, via one or more sensors,one or more operating conditions of the controller-based device. Themethod may further include selecting, by the controller, one or moreoperating parameters associated with at least one of the one or moreoperating conditions. The method may further include estimating, by thecontroller, a power consumption associated with executing an algorithmto generate at least one updated value for at least one of the one ormore operating parameters. The method may further include estimating, bythe controller, a power savings associated with operating using theupdated value. The method may further include comparing the estimatedpower consumption to the estimated power savings and determining whetherto execute the algorithm based on the comparing.

In another embodiment, the method may further include selecting, by thecontroller, a complexity level of the algorithm, and estimating thepower consumption associated with executing the algorithm of theselected complexity level.

In another embodiment, the selected complexity may be based on theestimated power consumption being less than the estimated power savings.

In another embodiment, the method may further include selecting, by thecontroller, a frequency with which to perform the algorithm, wherein thecomparing further includes comparing the estimated power consumptionassociated with executing the algorithm at the selected frequency withthe estimated power savings.

In another embodiment, the method may further include executing, by thecontroller, the algorithm on a condition the estimated power consumptionis less than the estimated power savings, wherein the algorithmgenerates at least one updated value. The method may further includeupdating, via the controller, at least one of the one or more operatingparameters with the at least one updated value. The method may furtherinclude sensing, via the one or more sensors, the one or more operatingconditions resulting from the at least updated operating parameter.

In another embodiment, the method may further include tracking, by thecontroller, a history of power savings and power consumption associatedwith executed algorithms. The method may further include determining, bythe controller, whether to execute the algorithm based on the comparingand further based on the tracked history.

In another embodiment, the method may further include assigning, by thecontroller, a respective priority to each of the one or more operatingconditions and determining, by the controller, whether to execute thealgorithm based on the comparing and further based on at least oneassigned priority.

In another embodiment, the method may further include selecting, by thecontroller, a complexity level of the algorithm based on the at leastone assigned priority.

In another embodiment, the one or more operating conditions may includea battery level and the one or more operating parameters may include atransmission parameter. The method may further include determining, bythe controller, whether to execute the algorithm to update thetransmission parameter based on the battery level.

In another embodiment, the controller-based device may be a powerconverter and the one or more operating parameters may include a timingof a switch for converting input energy to output energy. The method mayfurther include determining, by the controller, to forego execution ofthe algorithm based on the comparing.

In another embodiment a controller-based device capable of optimizingself-power consumption may include one or more sensors configured tosend one or more operating conditions of the controller-based device.The controller of the device may be configured to select one or moreoperating parameters associated with at least one of the one or moreoperating conditions. The controller may be further configured toestimate a power consumption associated with executing an algorithm togenerate at least one updated value for at least one of the one or moreoperating parameters. The controller may be further configured toestimate a power savings associated with operating using the updatedvalue. The controller may be further configured to compare the estimatedpower consumption to the estimated power savings. The controller may befurther configured to determine whether to execute the algorithm basedon the comparison.

In another embodiment, the controller may be further configured toselect a complexity level of the algorithm. The controller may befurther configured to estimate the power consumption associated withexecuting the algorithm of the selected complexity level.

In another embodiment, the selected complexity may be based on theestimated power consumption being less than the estimated power savings.

In another embodiment, the controller may be further configured toselect a frequency with which to perform the algorithm and compare theestimated power consumption associated with executing the algorithm atthe selected frequency with the estimated power savings.

In another embodiment, the controller may be further configured toexecute the algorithm on a condition the estimated power consumption isless than the estimated power savings, wherein the algorithm generatesthe at least one updated value. The controller may be further configuredto update at least one of the one or more operating parameters with theat least one updated value. The one or more sensors of the device may befurther configured to sense the one or more operating conditionsresulting from the at least one updated operating parameter.

In another embodiment, the controller may be further configured to tracka history of power savings and power consumption associated withexecuted algorithms and to determine whether to execute the algorithmbased on the comparison and further based on the tracked history.

In another embodiment, the controller may be further configured toassign a respective priority to each of the one or more operatingconditions and to determine whether to execute the algorithm based onthe comparison and further based on at least one assigned priority.

In another embodiment, the controller may be further configured toselect a complexity level of the algorithm based on the at least oneassigned priority.

In another embodiment, the one or more operating conditions may includea battery level and the one or more operating parameters may include atransmission parameter. The controller may be further configured todetermine whether to execute the algorithm to update the transmissionparameter based on the battery level.

In another embodiment, the controller-based device may be a powerconverter and the one or more operating parameters may include a timingof a switch for converting input energy to output energy. The controllermay be further configured to forego execution of the algorithm based onthe comparison.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram depicting an example embodiment of acontroller-based device configured in accordance with the teachingsherein;

FIG. 2 is a flow diagram depicting an example method to be performed bya device configured in accordance with the teachings herein;

FIG. 3 is a flow diagram depicting another example method to beperformed by a device configured in accordance with the teachingsherein;

FIG. 4 is a flow diagram depicting another example method to beperformed by a device configured in accordance with the teachingsherein;

FIG. 5 is a flow diagram depicting another example method to beperformed by a device configured in accordance with the teachingsherein;

FIG. 6 is a flow diagram depicting another example method to beperformed by a device configured in accordance with the teachingsherein;

FIG. 7 is a diagram depicting an example method for optimizingself-power consumption of a controller-based power converter configuredin accordance with the teachings herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In one embodiment of a device configured in accordance with theteachings here, the device may determine how and when to optimally carryout calculations involved in the operation of the device. The device mayfirst estimate an amount of energy required to execute a calculation. Acontroller of the device may be programmed to execute such acalculation. For instance, the device may perform calculations todetermine an operating parameter which may influence the operation ofthe device. The device may determine the potential benefit of operatingwith an updated operating parameter obtained from the results of thecalculations and weigh the benefit against the cost of performing thecalculations. The device may then determine whether to execute thecalculations, at what level of complexity to perform the calculations,how frequently to perform the calculations, whether to perform thecalculation, or whether to forego performing the calculation.

For instance, a power converter in accordance with an embodiment of theteachings herein may calculate settings or values for operatingparameters which may alter the manner in which the power converterconverts an input power to an output power. For example, the powerconverter may calculate an adjustment to the switching timing of aswitch of the power converter to influence an operating condition of thepower converter. An example operating condition may include any of:power conversion efficiency, harmonics, temperature, expected outputvoltage, stored energy level, inductance-based energy storage, storagecapacitor voltage, start-up energy storage levels, output ripple,voltage and current draw of the load, rate of discharge of the storagecapacitor, voltage and current of the input power source, frequency ofthe input power source, the rate of change or slope of the input powersource, the resonant frequency and a change in the resonant frequency ofan LLC converter, the temperature of the LLC converter, the presentposition along the input A/C waveform, the fluctuation profile of powerconsumption of the load, power factor, information or commands providedby the load or user, over-voltage and/or over-current conditions of theinput and/or output, mechanical noise or vibrations, characteristics ofthe mechanical noise or vibrations, noise profile of the input powersource, electromagnetic interference (EMI), any other factor (orcombination of factors) which may be desirably affected, controlled,adjusted and/or monitored.

FIG. 1 depicts an example embodiment of a device configured inaccordance with the teachings herein. A device 100 may include acontroller 110 which may be operatively coupled to a plurality ofsensors 120 a-120 c via connections 121 a-121 c. Although FIG. 1 depictsthree sensors 120, any number of sensors may be included. Furthermore,the sensors may be connected in any sensible arrangement and via anynumber of connections. Controller 110 may also be operatively coupled toa plurality of controllable subunits 130 a-130 d via a plurality ofcontrol lines. For example, as depicted in FIG. 1 , controllable subunit130 a may be operatively coupled to the controller 110 via control lines131 a, 132 a, and 133 a. Although FIG. 1 depicts four controllablesubunits 130, any number of controllable subunits may be included.Though each controllable subunit 130 is depicted with a particularnumber of control lines, any number of control lines may be present.Furthermore, the control lines may be part of a bus interface such thatcontrol lines are shared across multiple controllable subunits 130 andfurther control signals may be broadcast to a plurality of controllablesubunits 130 or may be directed to one or more particular controllablesubunits. Controller 110 may be configured to receive signals fromsensors 120 a-120 c to sense and determine operating conditions ofdevice 100.

For example, device 100 may be a power converter, subunit 130 c may bean input stage of the power converter, and subunit 130 b may be anoutput stage of the power converter. Sensor 120 a may sense an inputcurrent of the input stage, sensor 120 b may sense an input voltage ofthe input stage, and sensor 120 c may sense an output voltage of theoutput stage. Controller 110 may estimate the power savings associatedwith updating an operating parameter of the output stage and mayestimate the power consumed by running operations to sense theappropriate operating conditions and to calculate a new value for theoperating parameter. An example of an operating parameter may be aswitching frequency of a switch. The controller 110 may then compare theestimated power savings to the estimated power consumption. If the powersavings are greater than the power consumption, the controller 110 maydecide to perform the sensing and execute the calculations to updateoperation with the new switching frequency. However, if the controller110 determines that the estimated power savings would be less than thepower consumed by the procedures to update the switching frequency, thenthe controller 110 may forego the procedures and continue to operatewith the same switching frequency.

In another embodiment of a device configured in accordance with theteachings herein, the device may assign priorities or weights todifferent operating parameters and different operating conditions. Thedevice may evaluate the relative benefit of operating at an updatedoperating parameter corresponding to an improved operating condition,which is weighted accordingly, and determine whether the cost associatedwith performing the calculations are worth the relative benefit. Forexample, a device may determine that intensive calculations resulting ina particular improvement in power conversion efficiency may be worth theenergy expended in performing the particular intensive calculationsbecause power conversion efficiency may have a high priority or may beheavily weighted in importance. However, calculations of similarintensity resulting in similar energy expenditure for improving aharmonics output level may be determined to be relatively too highcompared to the benefit of the particular improvement in harmonics dueto a lower priority for harmonics performance or due to a lowerweighting factor applied to harmonics performance.

On the other hand, the device may determine the calculations should beexecuted if the harmonics improvement is expected to be moresubstantial. In yet another example, the relative weighting or priorityof a particular operating condition may change based on the currentoperating conditions. For example, if a power converter is currentlyoperating with very poor harmonics output such that the harmonics are atan unacceptable level, the power converter may determine the benefit ofimproving harmonics is very high, and hence the harmonics output may beheavily weighted. As such, the power converting may likely determine thecalculations necessary to update one or more operating parameters toimprove harmonics performance should be executed. Additionally oralternative, the power converting may implement a priority or weightingto the harmonics performance in such a condition wherein the powerconverter may be required to perform the calculations withoutconsideration of the power expenditure associated with the calculations.

The principles disclosed herein may be implemented in a device such thata cost associated with any procedure may be estimated. A benefit ofutilizing the result of a procedure may also be estimated. A weight maybe applied to the estimated benefit based on its relative importance tothe operation of the device. The device may then perform the procedureif the estimated, weighted benefits are determined to be worthwhilecompared to the cost of the procedure. If the cost is determined to berelatively too high compared to the benefit of the procedure, the devicemay decide to delay, skip, or indefinitely forego the procedure.

FIG. 2 is a flow diagram depicting an example method 200 that may beperformed by a device configured in accordance with the teachingsherein. For example, at step 210 the device may estimate the cost ofperforming a calculation used to update some operating parameter of thedevice. Examples of the cost may include the power consumed inperforming the calculation, the processing capacity occupied by thecalculation that may otherwise be used for other purposes, the memoryoccupied by the calculation, the delay in operation associated withperforming the calculation, etc.

At step 220, the device may estimate a benefit associated with obtainingand utilizing the result of the calculation. For example, the device maydetermine the power savings the device may experience by operating withparameters updated by the calculation, the device may determine aprocessing speed increase associated with using updated parameters, thedevice may determine an increase in a signal to noise ratio associatedwith using the updated parameters, etc. Steps 210 and 220 may becombined so that an estimation of the cost and benefit may be performedat the same time. Alternatively, the order of steps 210 and 220 may bereversed so that the benefit may be estimated before the cost.

At step 230, the device may apply a weight to the estimated benefit. Theweight may be based on the relative importance or priority of thebenefit to the overall performance of the device. Though not depicted,the device may further apply a weight to the estimated cost of thecalculation based on the relative importance or priority of the effectthe cost may have on the overall performance of the device. The devicemay alternatively skip applying any weights to the benefit or to thecost.

At step 240, the device may determine whether the benefit outweighs thecost. Again, either or both of the benefit and cost may be appropriatelyweighted and the weights may affect the determination. Further, theweights may be dynamically set by the device depending on the currentoperating conditions and current priorities of the device. If the devicedetermines the benefit outweighs the cost, the device may move to step250 and perform the calculation. The device may then update operatingparameters at step 270 based on the calculation. Steps 250 and 270 mayalso be combined so that the calculation may include updating theoperating parameters. If the device determines at step 240 that thebenefit does not outweigh the cost, the device may move to step 260 andhence forego the calculation. As such, operating parameters may not beupdated. The device may then move to step 280 to operate using theoperating parameters.

The method depicted in FIG. 2 should not be construed to only cover theparticular order of steps depicted. As explained above, steps may bereordered, combined, omitted, or split up in any manner which one ofordinary skill in the art would recognize as producing a useful resultfor the intended purpose of optimizing operation.

FIG. 3 is a flow diagram depicting an example method 300 that may beperformed by a device configured in accordance with the teachingsherein. At step 310, the device may estimate the power consumptionrequired to perform a calculation used to calculate an updated operatingparameter. For example, a controller-based power converter may estimatethe power necessary to execute an algorithm to determine an updatedinternal control voltage. At step 320, the device may estimate thepredicted power savings associated with the device operating using theupdated value of the operating parameter. For example, acontroller-based power converter may estimate how much power would besaved by operating at the updated internal control voltage. At steps 310and 320, the device may estimate power consumption and power savings,respectively, associated with calculating and using multiple operatingparameters. Steps 310 and 320 may be combined so that an estimation ofthe consumed power and saved power may be performed at the same time.Alternatively, the order of steps 310 and 320 may be reversed so thatthe saved power may be estimated before the consumed power.

At step 330, the device may determine whether the estimated powersavings associated with operating with the newly updated operatingparameter would be greater than the power consumed by performing thecalculations. If the device determines the estimated power savings aregreater than the estimated power consumption, the device may move tostep 340 and perform the calculation. The device may then update theoperating parameter value with the newly calculated value at step 360.Steps 340 and 360 may also be combined so that the calculation mayinclude updating the operating parameter. If the device determines atstep 330 that the estimated power savings are not greater than theestimated power consumed, the device may move to step 350 and forego thecalculation. As such, the operating parameter may not be updated with anew value. In this case, the device would then move to step 370 andcontinue to operate using the present operating parameter value. If thedevice had updated the operating parameter at step 360, then the devicewould move to step 370 and operate using the updated operating parametervalue.

The method depicted in FIG. 3 should not be construed to only cover theparticular order of steps depicted. Steps may be reordered, combined,omitted, or split up in any manner which one of ordinary skill in theart would recognize as producing a useful result for the intendedpurpose of optimizing operation.

In yet another example embodiment, a battery powered device maydetermine whether or not to perform calculations, may determine acomplexity level of a computation, or may determine a frequency ofperforming calculations, based on a level of battery power remaining.The battery powered device may assign a different priority values todifferent levels of reserve battery power. Alternatively oradditionally, the battery powered device may assign a weight to acertain amount of reserve battery power to reflect its importance. Thebattery powered device may also assign a priority or a weight to atransmission parameter. For example, the transmission parameter may beassociated with sending a transmission beam in a particular directionwith a certain level of accuracy. For instance, the battery powereddevice may estimate the power consumed by calculations of a firstcomplexity level executed at a first periodicity for updating atransmission beam direction and may weight the power consumptionaccording to an associated priority. The battery powered device mayfurther determine the remaining battery power and weight the importanceof conserving the battery power based on the amount remaining. Thebattery powered device may then determine whether to execute thetransmission beam direction calculations by comparing the relativebenefit of the updated transmission beam direction to the benefit ofconserving battery power. Hence, one may envision that the transmissionbeam direction update calculations may be performed when the remainingbattery power is relatively high, but may forego the calculations orperform them such that they require less power consumption when theremaining battery power is relatively lower.

One should recognize that the example embodiments disclosed herein arefor illustrative purposes and should not be construed to reduce thescope of the devices implemented in accordance with the teachingsherein. A device in accordance with the embodiments disclosed hereinshould not be construed to only evaluate power conversion efficiencyversus harmonics performance. Nor should one necessarily construe powerconversion efficiency to be relatively more important to a device thanharmonics performance. Likewise, devices may be powered via any means ormay be part of the powering circuitry of a device.

The calculation may further take into consideration multiple operatingconditions when calculating and determining an adjustment. The device,for example a power converter, may then compare an estimated improvementin efficiency of the device against the energy cost associated withperforming the calculation and may then determine how and when toperform the calculation or to forego performing the calculation.

In another embodiment of a device configured in accordance with theteachings herein, a controller of the device may be configured todetermine an interval between calculations or may determine a frequencywith which to perform the calculations. The device may learn, throughtracking operating statistics, an optimal number of calculation cyclesto optimize performance of the device.

For example, a power converter configured in accordance with theteachings herein may determine how to change the particular calculationsto be performed, may determine when calculations should be performed, ormay determine how often calculations should be performed to influenceoperation of the power converter. The power converter may learn how andwhen to perform calculations through tracking a history of theefficiency of the power converter, the calculation statistics, and thesettings of the operating parameters. In this way, the power convertermay evaluate the tradeoff between the power expenditure overheadassociated with calculations versus operating at the newly calculatedsettings. The power converter may determine the power required toexecute procedures to calculate a more efficient setting for one or moreoperating parameters and determine the savings associated with operatingat these new, more optimal settings and compare this cost/benefit to thepower saved by foregoing the calculations, but operating withpotentially less-optimal settings which may waste power. The powerconverter may learn when or with what frequency or interval theefficiency improvements resulting from calculating new operatingparameters outweigh the power consumed performing the calculations, andto perform the calculations accordingly.

In another embodiment of a device configured in accordance with theteachings herein, a controller of the device may perform a simplifiedroutine to estimate how many instructions may be required in acalculation, to estimate how much energy may be required to execute thecalculation, and to estimate the benefit in performing the calculation.The simplified routine may consume little power compared to the powerconsumed by the calculation of interest or to the potential powersavings resulting from operating at the newly calculated operatingparameters. An example of the simplified routine may be a look-up in alook-up table.

In yet another embodiment of a device configured in accordance with theteachings herein, the device may be capable of performing a plurality ofalgorithms. Further, the device may be capable of performing multiplelevels of complexity of an algorithm. An algorithms or a level ofcomplexity of an algorithm may be rated by its expected energyconsumption. The device may select an algorithm of the plurality ofalgorithms and may select a complexity level of an algorithm to beperformed based on logic. The logic may itself consume very littleenergy to determine which algorithm to perform. As an example, the logicmay select an algorithm which may cause the system to consume less powerduring the calculation of the algorithm than the power saved by usingthe result of the calculation. For instance, a device may determine thata relatively low complexity algorithm for calculating a new operatingparameter may result in more power savings operating at the updatedoperating parameter than expended in the execution of the calculations.However, a relatively more complex algorithm may calculate an operatingparameter which may result in even more power savings than therelatively low complexity algorithm, but the power consumed inperforming the relatively complex algorithm may be too high. Theconsumed power in performing the calculations may be higher than thepower saved by operating at the updated operating parameter. As such,the device may choose to perform the relatively lower complexityalgorithm over the relatively higher complexity algorithm.

FIG. 4 depicts another example of a method 400 which may be performed bya device configured in accordance with the teachings herein. At step410, the device may sense one or more operating conditions. At step 420,the device may select one or more operating parameters of interest. Theoperating parameters may affect the sensed operating conditions. Forexample, a device may sense a switching frequency and may select acontrol voltage which controls the switching frequency. At step 430, thedevice may select one or more algorithms and may further select levelsof complexity of the algorithms used for calculating updated operatingparameters. At step 440, the device may select a frequency with whichthe algorithm should be periodically executed. At step 450, the devicemay estimate the power that would be consumed by executing the selectedalgorithms of the selected complexities executed at the selectedfrequencies. At step 460, the device may estimate the power savingsassociated with the device operating using the newly updated operatingparameter values instead of the previous values. At step 470, the devicemay compare the estimated power consumption of running the selectedalgorithms at the selected settings to the estimated power savings. Atstep 480, based on the comparison, the device may decide whether toexecute the algorithms or not.

The method depicted in FIG. 4 should not be construed to only cover theparticular order of steps depicted. Steps may be reordered, combined,omitted, or split up in any manner which one of ordinary skill in theart would recognize as producing a useful result for the intendedpurpose of optimizing operation.

As another example, the device may learn through tracking the statisticsof the operation of the device and select the algorithm whichhistorically yielded the best operation. For instance, a power convertermay decide to execute the calculations involved in a selected algorithmand decide an interval defining how frequently the power converter mayperform the calculations. The decision may be based on trackedhistorical statistics associated with which decisions yielded thehighest conversion efficiency of the power converter while experiencingoperating conditions similar to current operating conditions.

FIG. 5 is a flow diagram depicting another example method 500 that maybe performed by a device configured in accordance with the teachingsherein. At step 510, the device may select a candidate operatingparameter for possible recalculation and updating. The device may becapable of executing an algorithm of different levels of complexity forcalculating an updated value for the selected operating parameter. Atstep 520, the device may estimate power consumed by the algorithm ateach level of complexity. At step 530, the device may estimate the powersaved by operating with the result of the algorithm at each level ofcomplexity. For example, a relatively higher level of complexity mayresult in an updated value of finer precision which may cause the deviceto operate relatively more precisely and hence save relatively morepower. At step 540, the device may weigh the costs associated with thepower consumed by the algorithm at the different levels of complexitywith their associated power savings and determine which level ofcomplexity results in the best net power savings or most optimum netbenefit. At step 550, the device may update the operating parameter withthe result of the algorithm at the chosen complexity. At step 560, thedevice may operate using the updated operating parameter.

The method depicted in FIG. 5 should not be construed to only cover theparticular order of steps depicted. Steps may be reordered, combined,omitted, or split up in any manner which one of ordinary skill in theart would recognize as producing a useful result for the intendedpurpose of optimizing operation.

In another embodiment of a device configured in accordance with theteachings herein, the device may be capable of performing a plurality ofalgorithms and may rate the algorithms according to their expectedenergy consumptions. The device may implement logic to select one of theplurality of algorithms. For example, the system may determine one ofthe plurality of algorithms, including algorithms of three differentcomplexities, to perform. The plurality of algorithms may include a mostsimplified complexity algorithm that may require the least amount ofenergy to perform, a computationally-intensive algorithm that mayrequire the most amount of energy to perform, and a normal complexityalgorithm that may require a moderate amount of energy to perform thatis more than that of the simplified complexity algorithm and less thanthat of the computationally-intensive algorithm. The device mayimplement logic which selects which of the three algorithms to executeand a frequency at which to execute the selected algorithm.

The device may evaluate the performance of the system by sensing variousoperating conditions. The device may fine tune operating parameterswhich influence the operating conditions of the system through theexecution of selected algorithms and may determine optimal algorithmsand their frequency of execution. The device may do so by evaluating thetradeoff between the estimated power or learned power expended, viatracking a performance history of the device, by performing thecalculations of the newly fined-tuned, more optimal operating parametersand the power saved by operating at the newly fine-tuned, more optimaloperating parameters.

In another embodiment, the device may determine which operating factorsof a plurality of operating factors to sense and how frequently to sensethe selected operating factors. For instance, a power converterconfigured in accordance with the teachings herein may be designed tooutput 19 volts direct current (DC). The power converter may not need tosense the output voltage or may determine to sense the output voltagesparingly in order to conserve the power associated with performing thesensing operations. The power converter may determine to more frequentlysense operating factors that may fluctuate more rapidly or unpredictablyor factors which may have a greater effect on the operation of the powerconverter. In this way, the power converter may decide how and when tosense operating factors to optimize self-power consumption.

As another example, the power converter may sense a voltage across acomponent of the power converter which may influence the powerconversion efficiency of the device. Maintaining an optimal level of thevoltage may help to obtain optimal efficiency of the device, however,sensing and calculating the optimal voltage may come at the cost ofself-power consumption overhead which may degrade the overall efficiencyof the device. As such, the power converter may determine how andwhen/at what frequency to optimally sense and calculate the voltagelevel to optimize the overall efficiency of the device. The device maydo so by tracking a history of its selected algorithms andtiming/frequency of execution of the algorithms and by making subsequentselections based on the selections which were determined to be mostoptimal. Similarly, the device may track a history of sensing proceduresand subsequently select sensing procedures, such as the timing orfrequency of sensing, based on the past, tracked sensing procedureswhich resulted in optimal operation.

FIG. 6 is a flow diagram depicting another example method 600 that maybe performed by a device configured in accordance with the teachingsherein. The device may run a looped process wherein a performancehistory is tracked and used to govern the operation decisions of thedevice. At step 610, the device may track and may store a history of netpower savings. The device may store a list of settings chosen for analgorithm used to calculate an updated value for an operating parameter.The device may further track the net power savings associated with thechosen settings and algorithm. Furthermore, the device may track theoperating conditions experienced for the chosen algorithm settings whichresulted in the associated power savings.

At step 620, the device may determine the optimum algorithm settings forcalculating an updated operating parameter based on the tracked history.For example, the device may select a complexity level and particularcomputation to perform to calculate a new operating parameter based on ahistory of tracked choices and outcomes. The device may furthercorrelate currently observed operating conditions with previously storedconditions and select optimal settings for performing the computationsbased on data stored from prior selections chosen during similaroperating conditions.

At step 630, the device may execute the selected algorithm using theoptimal settings determined based on the tracked history. At step 640,the device may then update the operating parameter with the output ofthe executed algorithm. At step 650, the device may operate using theupdated operating parameter and may then return to step 610 wherein thedevice will again track operating conditions, operating parameters, ahistory of selecting algorithm settings, and net power savings to use inmaking subsequent optimal calculation decisions.

The method depicted in FIG. 6 should not be construed to only cover theparticular order of steps depicted. Steps may be reordered, combined,omitted, or split up in any manner which one of ordinary skill in theart would recognize as producing a useful result for the intendedpurpose of optimizing operation.

In yet another embodiment of a device configured in accordance with theteachings herein, in addition to optimizing self-power consumption, thedevice may also optimize the response time of performing calculations.In order to fulfill requirements of operation, the device may need orprefer to perform calculations within a specified period of time. Forinstance, the device may need or prefer to perform calculations for eachsample of sensed inputs. The device may sample the sensed input at a setor dynamic sampling frequency. As such, the device may need to quicklyprocess the sample through calculations within the time periodestablished by the sampling frequency. The device may be configured todetermine and select an algorithm which may be completed within theestablished time period.

An example device configured to optimize the response time of performingcalculations may include a processor configured to execute a pluralityof algorithms to yield an operating parameter value. The processor mayexecute one of the plurality of algorithms, wherein each of theplurality of algorithms has a different level of complexitycorresponding to different levels of resolution of its respectiveresult. For instance, the device may wish to calculate an internalvoltage level of the device and may select among a plurality ofalgorithms of different complexities to calculate the voltage level. Arelatively low complexity algorithm, which may require a relatively lowamount of power to execute and may be completely executed in arelatively short time, may yield a relatively course resolution voltagelevel. A relatively high complexity algorithm, which may require arelatively high amount of power to execute and may be completelyexecuted over a relatively long time, may yield a relatively fineresolution voltage level. A relatively medium complexity algorithm,which may require an amount of power greater than that of the relativelylow complexity algorithm but less than that of the relatively highcomplexity algorithm and may be completely executed in less time thanthe relatively high complexity algorithm but taking more time than therelatively low complexity algorithm, and may yield a relatively mediumresolution result between than of the relatively low complexityalgorithm result and the relatively high complexity algorithm result.The processor of the device may run a simple and fast analysis, whichrequires very little power, to determine which algorithm is best suitedfor the task based on an estimation of the time it would take tocomplete the calculations within a required time period. If the timenecessary to complete the selected calculation took longer than therequired time period, then the processor may learn and adjust itsselection for the next instance of running the algorithm so that a lowercomplexity algorithm is chosen such that it is completed within therequired time period. In this way, the device may learn which selectionsresult in optimal operation and use the learned optimal selections tooptimize its operation over time.

In yet another example embodiment of a device configured in accordancewith the teachings herein, an algorithm of a particular complexity maybe selected by the device to be performed which completes in too shortof a period of time. In such case, the device may rate this algorithmwith a lower rating due to its timing not being ideal. The device maythen select a more complex algorithm which may take longer to execute atthe next available and appropriate opportunity. In this way, the devicemay recall a previously selected algorithm and complexity level of thealgorithm to use as a default which presently may not be the mostoptimal choice. The algorithm may be executed and evaluated and thedevice may change the algorithm or complexity level of the algorithm toa more optimal choice given the operating conditions to optimizeoperation over time.

In yet another example embodiment of a device configured in accordancewith the teachings herein, the device may reduce the number of iterativecalculations necessary to perform a task. The device may, beforeexecuting an algorithm, estimate the time period over which thealgorithm should be executed and the desired level of resolution todetermine an appropriate algorithm and complexity level of the algorithmto complete the task while meeting the resolution and time requirements.The algorithm may also be selected based on user preference for responsetime and/or bandwidth availability.

In yet another example embodiment of a device configured in accordancewith the teachings herein, the device may be configured with a pluralityof available algorithms to perform a task. Before executing thecalculations involved in a chosen algorithm, factors used in thecalculations may be first preloaded or calculated as a preprogrammedconfiguration for executing the algorithm. The preloaded or calculatedconfigurations and factors may be determined based on timingrequirements, power consumption requirements, resolution of the resultof the calculations, accuracy of the result of the calculations, etc.The device may be configured to choose from a plurality of algorithmsand a plurality of configurations. For instance, a first algorithm maybe available with one or more variables programmed with a firstpre-calculated set of values. The first algorithm may be available withthe one or more variables programmed with a second pre-calculated set ofvalues. A second algorithm may also be available with one or morevariables programmed with a third pre-calculated set of values. Thesecond algorithm may also be available with the one or more variablesprogrammed with a fourth set of values. In this way, the system mayadditionally select an algorithm and a particular configuration, whichmay include the particular programming of one or more variables, for thealgorithm based on run-time requirements. As an example, the one or moreconfigurable variables may include the complexity of the algorithm.

In yet another example embodiment, a device configured in accordancewith the teachings herein may include a main processor or controller.The main processor or controller may instruct a separate processor orcomponent to perform a desired calculation. The main processor mayaddress the separate processor and may supply to the separate processorthe run-time requirements for executing the calculation, which mayinclude power consumption requirements, required time, bandwidthresources, resolution of the result, etc. Alternatively, the mainprocessor may provide a subset of run-time requirements or norequirements and allow the external processor or component to determineand select the necessary configuration to optimize operation of thedevice and optimize the instructed calculations.

In yet another example embodiment, a device configured in accordancewith the teachings herein may test an algorithm before it is needed in areal-time situation to predetermine the characteristics of thecalculations involved to better select algorithms in the real-timesituation. For instance, the device may run tests on the algorithms toprocess test data and monitor operation to determine a cost ofexecution. For example, the device may perform measurements to determinean estimated length of time needed to run the calculations, thecomplexity level and power consumed by running the calculations, and thebandwidth requirements to run an iteration of the algorithm. Byperforming tests on the algorithms, the device may better determine theexecution cost or performance characteristics of the particularalgorithms, including a selected configuration of the algorithm, whenthe particular algorithms are executed in a real-time operationalenvironment. As previously described, the system may run the algorithmson any of a plurality of external processor or components. The systemmay further perform tests across the plurality of external processorsand record statistics for the algorithms tested on a respective externalprocessor.

FIG. 7 is a diagram depicting an example method 700 that may beimplemented by a power converter configured in accordance with theteachings herein. The power converter may start a program 701 and mayread data and/or configuration settings from memory 799 at step 710. Thepower converter may then sense factors at step 720 and may receivesensed data 729 from sensors included in the power converter whichmonitor operating factors of interest.

At step 730, the power converter may select a type of calculation toperform. In this example, the power converter may select between twolevels of calculations: “simplified” calculations 741 and “full”calculations 742. However, the power converter in other embodiments mayselect from additional levels of calculations. The power converter mayestimate the power needed to perform the calculations and may select thetype of calculation to perform based on the estimated power.Alternatively, the system may store values, for instance in a look-uptable, associated with the power necessary to perform the calculations.Furthermore, in other embodiments, only one algorithm may be availableand hence the system will effectively skip step 730 and perform thecalculations associated with the only available calculation.

At step 750, the power converter may then calculate the efficiency ofthe system and/or other operating factors using either “simplified”calculations 741 or “full” calculations 742. The power converter mayalso exchange data with memory and may store calculated values intomemory and may load values from memory. At step 760, the power convertermay evaluate tradeoffs between the energy cost of performing thecalculations of the type selected at step 730 and the benefits ofupdating the power converter's operating parameters to values calculatedat step 750. For instance, the power converter may evaluate the energycost of calculating and setting a new operating voltage of a resonatorwithin the power converter versus the estimated energy savingsassociated with operating at the calculated new operating voltage. Ifthe power converter determines at step 760 that the interval betweenperforming the calculations of the selected type are optimal, the systemmay move to step 771 and not update the interval. If the power converterdetermines at step 760 that the interval between performing thecalculations with the selected type is sub-optimal, the system may moveto step 772 to change the interval between performing the calculations.The power converter may then update the operating parameters 780including the calculation interval and may store these parameters intomemory 799. The power converter then waits the determined interval atstep 790. The power converter may then return to step 720 to again sensefactors and repeat the process to continue to evaluate operation andupdate how and when the system performs calculations for optimalperformance.

Though the example method depicted in FIG. 7 shows the power convertermay update (step 772) or maintain an interval (step 771) of calculationsas a result of the evaluation at step 760, the power converter mayalternatively or additionally evaluate the tradeoffs between a level ofcalculation selected at step 730 or may alternatively or additionallyevaluate the length of time taken to completely execute the calculationchoices.

The method depicted in FIG. 7 should not be construed to only cover theparticular order of steps depicted. As explained above, steps may bereordered, combined, omitted, or split up in any manner which one ofordinary skill in the art would recognize as producing a useful resultfor the intended purpose of optimizing operation.

Power sensitive devices may be well-suited for incorporation of theteachings herein. Examples of power sensitive devices includesatellites, medical implants, battery and energy storage driven portableelectronics, mobile phones, tablets, laptops, etc.

The aforementioned embodiments provide a method and apparatus foroptimizing the self-power consumption of controller-based devices.Although the embodiments describe example arrangements and combinationsof features, a system in accordance with the teachings herein mayincorporate any combination of the described features, capabilities, andconfigurations. One of ordinary skill in the art will appreciate thateach embodiment, feature, or element can be used alone or in anycombination with the other embodiments, features, and elements.

In addition, the methods described herein may be implemented in acomputer program, software, or firmware incorporated in acomputer-readable medium for execution by a computer or processor.Examples of computer-readable media include electronic signals(transmitted over wired or wireless connections) and computer-readablestorage media. Examples of computer-readable storage media include, butare not limited to, a read only memory (ROM), a random access memory(RAM), a register, cache memory, semiconductor memory devices, magneticmedia such as internal hard disks and removable disks, magneto-opticalmedia, and optical media such as CD-ROM disks, and digital versatiledisks (DVDs). A controller or processor in association with software orlogic may be used to implement the disclosed methods.

* * *

1. A method of an electronic device, the method comprising: reading,from a memory, one or more operating parameters of a configuration forthe electronic device; sensing, via one or more sensors, one or moreoperating factors of the electronic device; selecting a relatively lesscomplex calculation level or a relatively more complex calculativelevel; calculating, using the selected calculation level, a value of anoperating parameter of the one or more operating parameters; evaluatingan interval at which the value of the operating parameter is calculated;and updating the interval based on the evaluating.
 2. The method ofclaim 1, wherein the calculating at the relatively less complexcalculation level uses relatively less energy compared to the relativelymore complex calculation level.
 3. The method of claim 1, furthercomprising evaluating a tradeoff of an improvement in overall operationof the electronic device using the calculated operating parameter versusa cost associated with performing the calculating.
 4. The method ofclaim 3, wherein the evaluating a tradeoff determines whether theelectronic device is either more power efficient calculating the valueof the operating parameter and operating the electronic device using thevalue of the operating parameter or the electronic device is more powerefficient foregoing the calculating and operating the electronic deviceusing a preexisting value of the operating parameter.
 5. The method ofclaim 1, wherein the updating the interval includes reducing a durationin time of the interval.
 6. The method of claim 1, wherein the updatingthe interval includes increasing a duration in time of the interval. 7.The method of claim 1, wherein at least one operating parameter of theone or more operating parameters includes a timing of a switch forconverting input energy to output energy.
 8. The method of claim 1,wherein the electronic device is a power converter.
 9. The method ofclaim 1, wherein at least one operating factor of the one or moreoperating factors includes a power conversion efficiency, a harmonicslevel, a temperature, an output voltage, a stored energy level, aninductance-based energy storage level, a storage capacitor voltage, astart-up energy storage level, an output ripple level, a voltage acrossa load, a current draw of the load, a rate of discharge of a storagecapacitor, a voltage level of an input power source, a current level ofthe input power source, a frequency of the input power source, a rate ofchange or slope of the input power source, a resonant frequency of anLLC converter, a change in the resonant frequency of the LLC converter,a temperature of the LLC converter, a present position along an inputalternating current waveform, a fluctuation profile of a powerconsumption of the load, a power factor, information or one or morecommands provided by the load or a user, an over-voltage condition of aninput of the electronic device, an over-voltage condition of an outputof the electronic device, an over-current condition of the input of theelectronic device, an over-current condition of the output of theelectronic device, one or more characteristics of a mechanical noise,one or more characteristics of a vibration, a noise profile of the inputpower source, or an electromagnetic interference level.
 10. The methodof claim 1, wherein the selecting a relatively less complex calculationlevel or a relatively more complex calculative level is based on abattery level.
 11. An electronic device comprising: a memory configuredto store one or more operating parameters of a configuration for theelectronic device; one or more sensors configured to sense one or moreoperating factors of the electronic device; and a processor configuredto: select a relatively less complex calculation level or a relativelymore complex calculative level; calculate, using the selectedcalculation level, a value of an operating parameter of the one or moreoperating parameters; evaluate an interval at which the value of theoperating parameter is calculated; and update the interval based on theevaluation of the interval.
 12. The electronic device of claim 11,wherein a calculation at the relatively less complex calculation leveluses relatively less energy compared to the relatively more complexcalculation level.
 13. The electronic device of claim 11, wherein theprocessor is further configured to: evaluate a tradeoff of animprovement in overall operation of the electronic device using thecalculated operating parameter versus a cost associated with performingthe calculation.
 14. The electronic device of claim 13, wherein theprocessor is further configured to: determine whether the electronicdevice is either more power efficient calculating the value of theoperating parameter and operating the electronic device using the valueof the operating parameter or the electronic device is more powerefficient foregoing the calculating and operating the electronic deviceusing a preexisting value of the operating parameter.
 15. The electronicdevice of claim 11, wherein the processor is further configured to:reduce a duration in time of the interval.
 16. The electronic device ofclaim 11, wherein the processor is further configured to: increase aduration in time of the interval.
 17. The electronic device of claim 11,wherein at least one operating parameter of the one or more operatingparameters includes a timing of a switch for converting input energy tooutput energy.
 18. The electronic device of claim 11, wherein theelectronic device is a power converter.
 19. The electronic device ofclaim 11, wherein at least one operating factor of the one or moreoperating factors includes a power conversion efficiency, a harmonicslevel, a temperature, an output voltage, a stored energy level, aninductance-based energy storage level, a storage capacitor voltage, astart-up energy storage level, an output ripple level, a voltage acrossa load, a current draw of the load, a rate of discharge of a storagecapacitor, a voltage level of an input power source, a current level ofthe input power source, a frequency of the input power source, a rate ofchange or slope of the input power source, a resonant frequency of anLLC converter, a change in the resonant frequency of the LLC converter,a temperature of the LLC converter, a present position along an inputalternating current waveform, a fluctuation profile of a powerconsumption of the load, a power factor, information or one or morecommands provided by the load or a user, an over-voltage condition of aninput of the electronic device, an over-voltage condition of an outputof the electronic device, an over-current condition of the input of theelectronic device, an over-current condition of the output of theelectronic device, one or more characteristics of a mechanical noise,one or more characteristics of a vibration, a noise profile of the inputpower source, or an electromagnetic interference level.
 20. Theelectronic device of claim 11, wherein the processor is furtherconfigured to: select the relatively less complex calculation level orthe relatively more complex calculative level based on a battery level.